// 代码题 第二大题
const fp = require("lodash/fp")
// 数据
// horsepower 马力，dollar_value 价格, in_stock 库存
const { cars } = require("./data.js")

// 第3小题  使用帮助函数 _average 重构 averageDollarValue, 使用函数组合的方式实现
let _average = function (xs) {
  return fp.reduce(fp.add, 0, xs) / xs.length
} // 无需改动
// let averageDollarValue = function (cars) {
//   let dollar_values = fp.map(function (car) {
//     return car.dollar_value
//   }, cars)
//   return _average(dollar_values)
// }
// let ex = averageDollarValue(cars)

// 改进后
const getVal = fp.curry(fp.prop("dollar_value"))
const averageDollarValue2 = fp.flowRight(_average, fp.map(getVal))
console.log(averageDollarValue2(cars))